///*
// * To change this license header, choose License Headers in Project Properties.
// * To change this template file, choose Tools | Templates
// * and open the template in the editor.
// */
//package backingBean;
//
//import java.io.File;
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.List;
//import javax.annotation.PostConstruct;
//import javax.faces.bean.CustomScoped;
//import javax.inject.Named;
//import javax.faces.context.FacesContext;
//import org.icefaces.ace.component.fileentry.FileEntry;
//import org.icefaces.ace.component.fileentry.FileEntryEvent;
//import org.icefaces.ace.component.fileentry.FileEntryResults;
//
///**
// *
// * @author ambaye
// */
//@CustomScoped(value = "#{window}")
//@Named(FileEntryBean.BEAN_NAME)
//public class FileEntryBean extends ComponentExampleImpl <FileEntryBean> implements Serializable {
//
//    public static final String BEAN_NAME = "fileEntry";
//    public String getBeanName() { return BEAN_NAME; }
//    private List<UploadedFile> fileData = new ArrayList<UploadedFile>();
//    private String totalFiles;
//    private String totalSize;
//
//    public FileEntryBean() {
//        super(FileEntryBean.class);
//    }
//
//    @PostConstruct
//    public void initMetaData() {
//        super.initMetaData();
//    }
//
//    public void sampleListener(FileEntryEvent e) {
//        FileEntry fe = (FileEntry)e.getComponent();
//        FileEntryResults results = fe.getResults();
//        File parent = null;
//
//        for (FileEntryResults.FileInfo i : results.getFiles()) {
//            fileData.add(
//                new UploadedFile(
//                    i.getFileName(),
//                    i.getSize() + " bytes",
//                    i.getContentType(),
//                    i.isSaved() ? null : ("File was not saved because: " +
//                        i.getStatus().getFacesMessage(
//                            FacesContext.getCurrentInstance(),
//                            fe, i).getSummary()) ));
//
//            if (i.isSaved()) {
//                File file = i.getFile();
//                if (file != null) {
//                    parent = file.getParentFile();
//                }
//            }
//        }
//
//        if (parent != null) {
//            long dirSize = 0;
//            int fileCount = 0;
//            for (File file : parent.listFiles()) {
//                fileCount++;
//                dirSize += file.length();
//            }
//            totalFiles = "Total Files in Upload Directory: " + fileCount;
//            totalSize = "Total Size of Files In Directory: " + dirSize + " bytes";
//        }
//    }
//
//    public List getFileData() {
//        return fileData;
//    }
//
//    public String getTotalFiles() {
//        return totalFiles;
//    }
//
//    public String getTotalSize() {
//        return totalSize;
//    }
//
//
//    public static class UploadedFile {
//        private String name;
//        private String size;
//        private String contentType;
//        private String info;
//
//        UploadedFile(String name, String size, String contentType, String info) {
//            this.name = name;
//            this.size = size;
//            this.contentType = contentType;
//            this.info = info;
//        }
//
//        public String getName() { return name; }
//        public String getSize() { return size; }
//        public String getContentType() { return contentType; }
//        public String getInfo() { return info; }
//    }
//}
